package com.net.xpay.common.domain;

import com.net.common.domain.CommonDomain;
import com.net.xpay.core.enums.AgreementStatus;
import com.net.xpay.core.enums.BookStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class FlexibleStaffCard extends CommonDomain {
    @ApiModelProperty(notes = "用户id")
    private Long userId;

    @ApiModelProperty(notes = "支付宝uid")
    private String alipayUid;

    @ApiModelProperty(notes = "开卡方账号")
    private String identity;

    @ApiModelProperty(notes = "开卡方账号类型")
    private String identityType;

    @ApiModelProperty(notes = "开卡方账号名称")
    private String identityName;

    @ApiModelProperty(notes = "第三方订单号")
    private String importBizNo;

    @ApiModelProperty(notes = "外部订单号")
    private String outBizNo;

    @ApiModelProperty(notes = "零工卡号")
    private String employeeCardNo;

    @ApiModelProperty(notes = "资金记账本id")
    private String bookId;

    @ApiModelProperty(notes = "开通结果")
    private BookStatus bookStatus;

    @ApiModelProperty(notes = "支付宝签约协议号")
    private String agreementNo;

    @ApiModelProperty(notes = "开卡时间")
    private LocalDateTime openCardTime;

    @ApiModelProperty(notes = "协议签约时间")
    private LocalDateTime signTime;

    @ApiModelProperty(notes = "协议解约时间")
    private LocalDateTime unSignTime;

    @ApiModelProperty(notes = "协议状态")
    private AgreementStatus agreementStatus;

    @ApiModelProperty(notes = "邀请方账号")
    private String inviterIdentity;

    @ApiModelProperty(notes = "邀请方账号类型")
    private String inviterIdentityType;

    @ApiModelProperty(notes = "邀请方账号名称")
    private String inviterIdentityName;

    @ApiModelProperty(notes = "雇佣方账号")
    private String hireIdentity;

    @ApiModelProperty(notes = "雇佣方账号类型")
    private String hireIdentityType;

    @ApiModelProperty(notes = "雇佣方账号名称")
    private String hireIdentityName;

    @ApiModelProperty(notes = "资方账号")
    private String capitalIdentity;

    @ApiModelProperty(notes = "资方账号类型")
    private String capitalIdentityType;

    @ApiModelProperty(notes = "资方账号名称")
    private String capitalIdentityName;

    @ApiModelProperty(notes = "存在资方概念 限定还款对象为资方 1.有 0.无")
    private Integer hasCapital;

    @ApiModelProperty(notes = "每月可还款金额 单位元")
    private Long repaymentAmount;

    @ApiModelProperty(notes = "还款协议截止时间")
    private String repaymentEndTime;

    @ApiModelProperty(notes = "开通链接")
    private String applyLink;

    @ApiModelProperty(notes = "申请的流程实例ID")
    private String flowToken;

    @ApiModelProperty(notes = "链接失效时间")
    private LocalDateTime applyLinkExpireTime;

    @ApiModelProperty(notes = "通知地址")
    private String notifyUrl;

    @ApiModelProperty(notes = "回跳地址")
    private String returnUrl;


}
